import {
  compileToFunctions
} from 'vue-template-compiler';
import {
  getSpuList,
  getSpuAttrList
} from '../../api/productApi.js'
export default {
  namespaced: true,
  state: {
    //首页推荐商品列表
    home_recommend_spu_list: [],
    //首页推荐商品分类类别
    home_recommend_category_list: [{
      cate_id: 130,
      cate_name: '手机'
    }, {
      cate_id: 34,
      cate_name: '变频空调'
    }, {
      cate_id: 26,
      cate_name: '4K超清电视'
    }, {
      cate_id: 219,
      cate_name: '笔记本'
    }],
    //图片服务器地址
    base_img_url: 'http://localhost:8001/img/',
    //首页中当前点击的商品
    spu: {},
    //当前spu的第一个sku
    sku: {},
    //当前spu的第一个sku的属性
    sku_attr_list: [],
    //图标列表下标
    ablum_index: 0,
    ablum_item_index: 0,
    // 购买数量
    buy_number: 1,
    //-----------------------------------------
    //当前筛选的分类
    spulist_filter_cate: null,
    //筛选属性
    spu_attr_list: [],
    //筛选商品数据
    spu_filter_list: [],
    //筛选属性值
    spu_attr_value_list: []
  },
  getters: {},
  mutations: {
    //设置首页推荐商品数据
    set_home_recommend_spu_list(state, value) {
      state.home_recommend_spu_list.push(value);
    },
    //设置首页点击的商品
    set_spu(state, value) {
      state.spu = value
    },
    //设置当前spu的第一个sku
    set_sku(state, value) {
      state.sku = value
    },
    //设置当前spu的第一个sku的属性
    set_sku_attr_list(state, value) {
      state.sku_attr_list = value
    },
    //设置大图片下标
    set_ablum_index(state, value) {
      state.ablum_index = value;
    },
    //设置小图片下标
    set_ablum_item_index(state, value) {
      state.ablum_item_index = value;
    },
    //-----------------------------------------------------
    //设置当前筛选的分类数据
    set_spulist_filter_cate(state, value) {
      state.spulist_filter_cate = value;
    },
    //设置筛选属性
    set_spu_attr_list(state, value) {
      state.spu_attr_list = value;
    },
    //设置筛选商品数据
    set_spu_filter_list(state, value) {
      state.spu_filter_list = value;
    },
    //设置筛选属性值
    set_spu_attr_value_list(state, value) {
      state.spu_attr_value_list = value;
    }
  },
  actions: {
    //查询首页推荐商品spu列表
    get_home_recommend_spu_list(context) {
      context.state.home_recommend_category_list.forEach(function(cate) {
        getSpuList({
          cate_id: cate.cate_id,
          spu_status: 1,
          start: 0,
          length: 5
        }).then(function(response) {
          // response.data.data 分类下的spu数据
          let recommend = {
            category: cate
          }
          recommend.spuList = response.data.data;
          console.log(response.data.data)
          context.commit('set_home_recommend_spu_list', recommend);
        })
      })
    },
    //获取筛选属性数据
    get_spu_attr_list(context) {
      getSpuAttrList({
        cate_id: context.state.spulist_filter_cate.cate_id,
        key_issku: 0,
        key_ishigh: 0
      }).then(function(response) {
        if (response.data.httpcode == 200) {
          context.commit('set_spu_attr_list', response.data.data);
        }
      })
    },
    //获取筛选商品
    get_spu_filter_list(context) {
      const param = {
        spu_status: 1,
        start: 0,
        length: 10,
      }
      //分类ID
      if (context.state.spulist_filter_cate != null) {
        param.cate_id = context.state.spulist_filter_cate.cate_id
      }
      //属性值
      if (context.state.spu_attr_value_list.length != 0) {
        param.valuelist = context.state.spu_attr_value_list.join();
      }
      //查询商品
      getSpuList(param).then(function(response) {
        if (response.data.httpcode == 200) {
          context.commit('set_spu_filter_list', response.data.data);
        }
      })
    }
  }
}
